10 research outputs found

    TMbarrier: speculative barriers using hardware transactional memory

    Get PDF
    Barrier is a very common synchronization method used in parallel programming. Barriers are used typically to enforce a partial thread execution order, since there may be dependences between code sections before and after the barrier. This work proposes TMbarrier, a new design of a barrier intended to be used in transactional applications. TMbarrier allows threads to continue executing speculatively after the barrier assuming that there are not dependences with safe threads that have not yet reached the barrier. Our design leverages transactional memory (TM) (specifically, the implementation offered by the IBM POWER8 processor) to hold the speculative updates and to detect possible conflicts between speculative and safe threads. Despite the limitations of the best-effort hardware TM implementation present in current processors, experiments show a reduction in wasted time due to synchronization compared to standard barriers.Universidad de M谩laga. Campus de Excelencia Internacional Andaluc铆a Tech

    Mejorando el rendimiento de la memoria transaccional para aplicaciones irregulares

    Get PDF
    La Memoria Transaccional (TM) ofrece un modelo de ejecuci贸n concurrente optimista en arquitecturas multin煤cleo, permitiendo a los programadores extraer paralelismo cuando la informaci贸n de las dependencias de datos no est谩 disponible hasta la ejecuci贸n 虂del programa. Existe investigaci贸n reciente enfocada a explotar paralelismo a nivel de hilo usando TM. Sin embargo estas propuestas son de uso general, v谩lidas para cualquier tipo de aplicaci贸n. Este trabajo presenta ReduxSTM, un TM software especialmente dise帽ado para mejorar la extracci贸n de paralelismo en aplicaciones irregulares. La gesti贸n de las versiones y la detecci贸n de conflictos se han dise帽ado para aprovechar tanto la ordenaci贸n secuencial de las transacciones, necesaria para asegurar la correcci贸n de los resultados, como la privatizaci贸n de patrones de reducci贸n, un patr贸n de acceso a memoria muy frecuente en aplicaciones irregulares. La informaci贸n adicional que proporcionan estas propiedades en tiempo de ejecuci贸n se utiliza para evitar abortos transaccionales innecesarios. Se ha elegido una funci贸n del benchmark 300.twolf de la suite SPEC CPU2000 como ejemplo de programa irregular con reducciones. Este c贸digo se ha paralelizado mediante TM utilizando ReduxSTM y una versi贸n ordenada de TinySTM. Los resultados muestran que ReduxSTM es capaz de explotar m谩s paralelismo

    Improving Transactional Memory Performance for Irregular Applications

    Get PDF
    Postprint de autor publicado posteriormente con este DOI:http://dx.doi.org/10.1016/j.procs.2015.05.398Transactional memory (TM) offers optimistic concurrency support in modern multicore archi- tectures, helping the programmers to extract parallelism in irregular applications when data dependence information is not available before runtime. In fact, recent research focus on ex- ploiting thread-level parallelism using TM approaches. However, the proposed techniques are of general use, valid for any type of application. This work presents ReduxSTM, a software TM system specially designed to extract maxi- mum parallelism from irregular applications. Commit management and conflict detection are tailored to take advantage of both, sequential transaction ordering to assure correct results, and privatization of reduction patterns, a very frequent memory access pattern in irregular applications. Both techniques are used to avoid unnecessary transaction aborts. A function in 300.twolf package from SPEC CPU2000 was taken as a motivating irregular program. This code was parallelized using ReduxSTM and an ordered version of TinySTM, a state-of-the-art TM system. Experimental evaluation shows that ReduxTM exploits more parallelism from the sequential program and obtains better performance than the other system.Universidad de M谩laga. Campus de Excelencia Internacional Andaluc铆a Tech

    Speculative Barriers with Transactional Memory

    Get PDF
    Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this work we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to replace the lock-based solution. SBs leverage HTM support to elide barriers speculatively. When a thread reaches an SB, a new SB transaction is started, keeping the updates private to the thread, and letting the HTM system detect potential conflicts. Once the last thread reaches the corresponding SB, the speculative threads can commit their changes. The main contributions of this work are: an API for SBs implemented with HTM extensions; a procedure to check the speculation state in between barriers to enable SBs with non-transactional codes; a HTM SB-aware conflict resolution enhancement where SB transactions stall on a conflict with a standard transaction; and a set of SB use guidelines derived from our experience on using SBs in a variety of applications. We evaluated our proposals in two different architectures with a full-system simulator and an IBM Power8 server. Results show an overall performance improvement of SBs over traditional barriers

    Barreras especulativas con memoria transaccional

    Get PDF
    La Memoria Transaccional (TM) es una alternativa al modelo de programaci贸n basado en locks que pretende simplificar la programaci贸n paralela. TM sustituye locks por transacciones para resolver el problema de la exclusi贸n mutua. Las transacciones se ejecutan de manera optimista, en paralelo, mientras el sistema transaccional comprueba si hay conflictos entre ellas. En este trabajo proponemos el uso de transacciones para implementar una barrera especulativa (SB) optimista que reemplace las barreras pesimistas basadas en locks. SBs aprovecha el soporte TM hardware para permitir que los hilos salten la barrera y ejecuten especulativamente. Cuando un hilo llega a una barrera abre una transacci贸n para proteger la ejecuci贸n y poder volver a la barrera en caso de conflicto. Cuando el 煤ltimo hilo alcanza la barrera los hilos especulativos pueden acometer los cambios.Sociedad de Arquitectura y Tecnolog铆a de Computadores (SARTECO) Universidad de M谩laga. Campus de Excelencia Internacional Andaluc铆a Tech

    Tratamientos psicol贸gicos emp铆ricamente apoyados para adultos: Una revisi贸n selectiva

    Get PDF
    Antecedentes: los tratamientos psicol贸gicos han mostrado su eficacia, efectividad y eficiencia para el abordaje de los trastornos mentales; no obstante, considerando el conocimiento cient铆fico generado en los 煤ltimos a帽os, no se dispone de trabajos de actualizaci贸n en espa帽ol sobre cu谩les son los tratamientos psicol贸gicos con respaldo emp铆rico. El objetivo fue realizar una revisi贸n selectiva de los principales tratamientos psicol贸gicos emp铆ricamente apoyados para el abordaje de trastornos mentales en personas adultas. M茅todo: se recogen niveles de evidencia y grados de recomendaci贸n en funci贸n de los criterios propuestos por el Sistema Nacional de Salud de Espa帽a (en las Gu铆as de Pr谩ctica Cl铆nica) para diferentes trastornos psicol贸gicos. Resultados: los resultados sugieren que los tratamientos psicol贸gicos disponen de apoyo emp铆rico para el abordaje de un amplio elenco de trastornos psicol贸gicos. El grado de apoyo emp铆rico oscila de bajo a alto en funci贸n del trastorno psicol贸gico analizado. La revisi贸n sugiere que ciertos campos de intervenci贸n necesitan una mayor investigaci贸n. Conclusiones: a partir de esta revisi贸n selectiva, los profesionales de la psicolog铆a podr谩n disponer de informaci贸n rigurosa y actualizada que les permita tomar decisiones informadas a la hora de implementar aquellos procedimientos psicoterap茅uticos emp铆ricamente fundamentados en funci贸n de las caracter铆sticas de las personas que demandan ayuda. Background: Psychological treatments have shown their efficacy, effectiveness, and efficiency in dealing with mental disorders. However, considering the scientific knowledge generated in recent years, in the Spanish context, there are no updating studies about empirically supported psychological treatments. The main goal was to carry out a selective review of the main empirically supported psychological treatments for mental disorders in adults. Method: Levels of evidence and degrees of recommendation were collected based on the criteria proposed by the Spanish National Health System (Clinical Practice Guidelines) for different psychological disorders. Results: The results indicate that psychological treatments have empirical support for the approach to a wide range of psychological disorders. These levels of empirical evidence gathered range from low to high depending on the psychological disorder analysed. The review indicates the existence of certain fields of intervention that need further investigation. Conclusions: Based on this selective review, psychology professionals will be able to have rigorous, up-to-date information that allows them to make informed decisions when implementing empirically based psychotherapeutic procedures based on the characteristics of the people who require help

    Soporte de Orden y Reducciones en Sistemas de Memoria Transaccional

    No full text
    Las propuestas de esta tesis de han evaluado en una selecci贸n de benchmarks reales y sint茅ticos que incluye la suite STAMP, Eigenbench, c贸digos seleccionados de las suites SPEC, PARSEC, y Polybench; y otros kernels de aplicaciones HPC de inter茅s. Fecha de Lectura de Tesis Lectoral: 29 enero 2019.En esta tesis se proponen soluciones basadas en memoria transaccional (TM) para optimizar la detecci贸n y resoluci贸n de conflictos en c贸digos que presentan operaciones de reducci贸n. Las reducciones aparecen frecuentemente en aplicaciones cient铆ficas en combinaci贸n con patrones de acceso irregulares que dificultan su paralelizaci贸n de forma eficiente. Nuestra propuesta contempla las reducciones como una operaci贸n transaccional adicional en el modelo TM. El tratamiento expl铆cito de las reducciones permite filtrar los conflictos originados por dichas operaciones manteniendo la consistencia del sistema sin necesidad de abortar transacciones. Este trabajo introduce adem谩s un orden total de precedencia entre transacciones que implica que 茅stas confirmen sus cambios a memoria en un orden espec铆fico, facilitando as铆 la paralelizaci贸n de aplicaciones secuenciales. El uso de este orden permite adem谩s detectar reducciones parciales; accesos a memoria que violan las condiciones de reducci贸n. Dado que un orden de precedencia estricto penaliza el rendimiento y puede ser demasiado restrictivo, esta tesis aborda tambi茅n el dise帽o de un orden de precedencia parcial, donde las restricciones a la hora de confirmar los cambios a memoria no se aplican entre transacciones individuales sino entre grupos de ellas, permitiendo aumentar el grado de paralelismo de la aplicaci贸n. Introducimos el concepto de barrera transaccional, una primitiva cuya sem谩ntica es similar a una barrera de sincronizaci贸n tradicional, pero que aprovecha TM para permitir a los hilos seguir ejecutando c贸digo de forma especulativa. Nuestra propuesta utiliza estas barreras para establecer un orden parcial de precedencia, lanzando transacciones con restricciones de precedencia din谩micas que permiten evitar bloqueos debidos a la sincronizaci贸n manteniendo la correcci贸n del programa

    An谩lisis comparativo del uso de STMs en a c贸digos de reducci贸n irregulares

    No full text
    La memoria transaccional (TM) constituye un paradigma de concurrencia optimista en arquitecturas multin煤cleo que puede ser de utilidad en la explotaci贸n de paralelismo en aplicaciones irregulares, en las que la informaci贸n sobre las dependencias de datos no est谩 disponible hasta la ejecuci贸n. Este trabajo presenta y discute c贸mo aprovechar las caracter铆sticas de un sistema STM (software transactio- nal memory) en patrones de computaci贸n que involucren operaciones de reducci贸n, ligadas frecuentemente a aplicaciones irregulares. Con el fin de comparar el uso de enfoques STM en esta clase de patrones con otras soluciones m谩s cl谩sicas, se ha implementa do como prueba de concepto un sistema STM, que denominaremos ReduxSTM, que combina dos ideas: una consolidaci贸n (commit) ordenada de las transacciones, que asegura una equivalencia con la ejecuci贸n secuencial del c贸digo; y una extensi贸n del mecanismo de privatizaci贸n subyacente al sistema STM que contempla las operaciones de reducci贸n.Universidad de M谩laga. Campus de Excelencia Internacional Andaluc铆a Tech
    corecore